package org.upal.springMb.mapper.base;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 基础的mapper接口
 * @author: Xia YuMing
 * @date: 2014年3月27日上午10:16:24
 */
public interface BaseMapper {

	/** 通用的保存方法 */
	<T> void save(T entity);
	
	/** 通用的修改方法 */
	<T> void update(T entity);
	
	/** 批量删除方法 */
	 void delete(Serializable[] ids);
	 
	 /** 删除单个方法 */
	void  delete(Serializable id);
	
	/** 根据主键获取一个实体 */
	<T> T get(Serializable id);
	
	/** 通用查询方法 */
	<T> List<T> list(Map<String,Object>params);
	
	/** 统计查询 */
	int count(Map<String,Object>params);
	
	/** 分页查询 */
	<T> List<T> findByPage(Map<String,Object>params);
}
